package wordUtil.docExport;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import org.apache.log4j.Logger;

import com.jfinal.plugin.activerecord.Record;

/**
 * poi 版本 3.7
 */
public class WordExportUtil {

	/**
	 * 根据指定的参数值、模板，生成 word 文档。模板只支持docx文档。变量名称只能是“字母”、“数字”及“英文句点”
	 * 
	 * @param param
	 *            需要替换的键值对，用value来替换key。vlaue为String时表示替换为文字，value为Pictrue时表示替换图片
	 * @param templatePath
	 *            模板
	 * @throws IOException
	 */
	public static CustomXWPFDocument generateWord(List<Record> param, String templatePath) throws IOException {
		return CustomXWPFDocument.generateWord(param, templatePath);
	}

	public static Logger logger = Logger.getLogger(WordExportUtil.class);

	/**
	 * 根据指定的参数值、模板，生成 word 文档。模板只支持docx文档。变量名称只能是“字母”、“数字”及“英文句点”
	 * 
	 * @param param
	 *            需要替换的键值对，用value来替换key。vlaue为String时表示替换为文字，value为Pictrue时表示替换图片
	 * @param templatePath
	 *            模板
	 * @param outFilePath
	 *            输出文件的了路径
	 * @throws IOException
	 */
	public static String generateWord(List<Record> param, String templatePath, String outFilePath) throws IOException {
		CustomXWPFDocument doc = generateWord(param, templatePath);

		FileOutputStream fopts = new FileOutputStream(outFilePath);
		try {
			doc.write(fopts);
		} finally {
			fopts.close();
		}
		return outFilePath;
	}
}
